package cc.taofoo.JUCTest;

/**
 * 由于编译器优化的原因 导致 ReaderThread 内不能立即获得 ready 的
 * 修改，因此线程会卡死。
 *
 * 解决方法：添加 volatile 关键字
 */

public class NoVisibilty {

        private static boolean ready;
        private static int data;

        private static class ReaderThread extends  Thread{
            @Override
            public void run() {
                while (!ready);
                    System.out.println(data);

            }
        }

    public static void main(String[] args) throws InterruptedException {
        new ReaderThread().start();
        Thread.sleep(1000);
        data = 100;
        ready = true;
        Thread.sleep(1000);
    }



}
